/**
 * 尊敬的用户，你好：页面 JS 面板是高阶用法，一般不建议普通用户使用，如需使用，请确定你具备研发背景，能够自我排查问题。
 * 我们可以用 JS 面板来开发一些定制度高功能，比如：调用API接口，自定义动作执行等等。
 */

// 当页面渲染完毕后马上调用下面的函数，这个函数是在当前页面 - 设置 - 生命周期 - 页面加载完成时中被关联的。
export function didMount() {
    console.log("「页面 JS」：当前页面地址 " + location.href);
}

export function codeChange() {
    debugger
    const self = this;
    //获取执法区域的code
    const selectValue = self.$$("tree_single_select_bxf5qf").cValue;

    let regionCode = self.$$("tree_single_select_bxf5qf").treeData[0].data.code;

    debugger
    let lawEnforcementCode = self.$$('single_select_g9qbw7').cValue;

    if (!regionCode || !lawEnforcementCode) {
        return;
    }


    let code = regionCode + lawEnforcementCode;

    if (region && areacode) {

        //查询数据库是否存在前缀regioncode
        api.EXEC_FORMULA("ENTITY_SELECT_ONE('ds_tbl:t_681f21106a174fe48e15dc39994f078c','region_code',QUERY_EQ('region_code','" + code + "'))").then((res) => {
            // then() 为调用成功的回调
            console.log("res", res);
            const count = res.totalCount;
            console.log(count);
            //前缀名存在的情况
            if (count == 1) {

                api.EXEC_FORMULA("ENTITY_SELECT_ONE('ds_tbl:t_681f21106a174fe48e15dc39994f078c','number_index',QUERY_EQ('region_code','" + code + "'))").then((res) => {
                    console.log(res);
                    let lnumber = res.result;
                    console.log("未加1时的值" + lnumber);
                    let incrementedNumber = parseInt(lnumber) + 1;
                    console.log("加1时的值" + incrementedNumber);
                    //将增加之后的值，更新到数据库
                    api.EXEC_FORMULA(
                        "UPDATE('ds_tbl:t_681f21106a174fe48e15dc39994f078c',QUERY_EQ('region_code','" + code + "'),'',['number_index','" + incrementedNumber + "'])"
                    ).then((res) => {
                        console.log("res", res);
                    })

                    incrementedNumber = incrementedLnumber.toString().padStart(3, '0');
                    code = code + incrementedNumber;
                    console.log(code);
                    aotuCodeCom.$$setValue(code.trim());

                }).catch(err => {
                    console.log(err.message);
                });
            } else {
                code = (code + "001").trim();
                console.log(code);
                aotuCodeCom.$$setValue(code);

                api.EXEC_FORMULA(
                    "INSERT('ds_tbl:t_681f21106a174fe48e15dc39994f078c',['region_code','" + code + "','number_index','1'])"
                ).then((res) => {
                    console.log(res);
                })

            }

        }).catch(err => {
            console.log(err.message);
            // self.$message.error(err.message); // 显示错误提示信息
        });

    } else {
        self.$message.warn("执法区域或执法领域为空，请检查！")
    }
}
